home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/perl5
-
- $js =
- "$js_standard
- $js_error_box
- $js_hostname
- $js_ip
- function checkForm(form) {
- if (!testHostname(form.pro_host_prefix, form.pro_host_prefix.value, \"hostname prefix\", 0)) return (false);
- if (!testRange(form.pro_ipaddress_range)) return (false);
- if (!testIPaddress(form.pro_netmask.value, 1)) {
- errorBox(form.pro_netmask, \"Invalid netmask: \" + form.pro_netmask.value);
- return (false);
- }
- if (!testHostname(form.pro_nis_domain, form.pro_nis_domain.value, \"NIS domain name\", 0)) return (false);
- return (true);
- }
- function testRange(Ctrl) {
- for (start = 0, comma = 0; comma != -1; start = comma+1) {
- comma = Ctrl.value.indexOf (',', start);
- if (start == Ctrl.value.length) return (true);
- if (comma == start) continue;
- if(comma == -1) str = Ctrl.value.substring(start, Ctrl.value.length);
- else str = Ctrl.value.substring(start, comma);
- for (s=0, hyphen=-1; s < str.length; s++) {
- if (str.charAt(s) == '-') { hyphen = s; continue; }
- if (! checkInt_c(str.charAt(s), 10)) {
- if(str.charAt(s) == ' ')
- errorBox (Ctrl, \"Please do not use spaces in \\nthe address range list\");
- else
- errorBox (Ctrl, \"Illegal character: \" + str.charAt(s)
- + \" in address range list\");
- return (false);
- }
- }
- if (hyphen == -1) {
- errorBox (Ctrl, \"Illegal range value: \" + str);
- return (false);
- }
- num1 = parseInt(str.substring(0,hyphen));
- num2 = parseInt(str.substring(hyphen+1,str.length));
- if (num1 > num2) {
- errorBox (Ctrl, \"Illegal range value: \" + str);
- return (false);
- }
- if (num1 > 255 || num2 > 255) {
- errorBox (Ctrl, \"Range values must be between 0 and 255.\"); return (false); }
- }
- return (true);
- }";
-
-
- $js_long =
- "$js_standard
- $js_error_box
- $js_filename
- $js_hostname
- $js_iplist
- $js_ip
-
- function checkForm(form) {
- if (!testGeneral(form)) return (false);
- if (!testServer(form)) return (false);
- if (!testApplication(form)) return (false);
- if (!testServices(form)) return (false);
- if (!testIPperHost(form)) return (false);
- if (!testIPperInterface(form)) return (false);
- if (!testLinkLayer(form)) return (false);
- if (!testTCP(form)) return (false);
- return (true);
- }
- function testGeneral(form) {
- if(!testInt(form.pro_address_counter,\"IP starting number\")) return (false);
- if(!testHostname(form.pro_host_prefix,form.pro_host_prefix.value,\"hostname prefix\",1)) return (false);
- if(!testInt(form.pro_host_pfx_counter,\"hostname starting number\")) return (false);
- if(!testIPAddr(form.pro_netmask,\"subnet mask\",1)) return (false);
- if(!testInt(form.pro_lease,\"address lease time\")) return (false);
- if(!testRange(form.pro_ipaddress_range,\"IP address range\")) return (false);
- if(!testIPList(form.pro_router_addr,\"router IP address\")) return (false);
- if(!testInt(form.pro_bootfile_size,\"bootfile size\")) return (false);
- if(!testFile(form.pro_bootfile_name,\"bootfile name\")) return (false);
- if(!testInt(form.pro_time_offset,\"time offset\")) return (false);
- if(!testFile(form.pro_meritdump_pathname,\"merit dump file pathname\")) return (false);
- if(!testFile(form.pro_root_pathname,\"root disk file pathname\")) return (false);
- if(!testFile(form.pro_extensions_pathname,\"extensions pathname\")) return (false);
- if(!testHostname(form.pro_TFTPserver_name,form.pro_TFTPserver_name.value,\"TFTP server name\",1)) return (false);
- return (true);
- }
- function testServer(form) {
- if(!testHostname(form.pro_dns_domain,form.pro_dns_domain.value,\"NIS domain name\",1)) return (false);
- if(!testIPList(form.pro_dnsserver_addr,\"DNS server address\")) return (false);
- if(!testIPAddr(form.pro_propel_server,\"propel server address\",0)) return (false);
- if(!testIPList(form.pro_timeserver_addr,\"time server address\")) return (false);
- if(!testIPList(form.pro_logserver_addr,\"UDP log server address\")) return (false);
- if(!testIPList(form.pro_cookieserver_addr,\"cookie server address\")) return (false);
- if(!testIPList(form.pro_LPRserver_addr,\"LPR server address\")) return (false);
- if(!testIPList(form.pro_resourceserver_addr,\"service location server address\")) return (false);
- if(!testIPList(form.pro_swapserver_addr,\"swap server address\")) return (false);
- if(!testIPList(form.pro_nameserver116_addr,\"IEN 116 name server address\")) return (false);
- if(!testIPList(form.pro_impressserver_addr,\"impress server address\")) return (false);
- if(!testIPList(form.pro_NTPserver_addr,\"NTP server address\")) return (false);
- return (true);
- }
- function testApplication(form) {
- if(!testIPList(form.pro_X_fontserver_addr,\"X window font server address\")) return (false);
- if(!testIPList(form.pro_X_displaymgr_addr,\"X window manager server address\")) return (false);
- if(!testIPList(form.pro_mobileIP_homeagent_addr,\"mobile home agent server address\")) return (false);
- if(!testIPList(form.pro_SMTPserver_addr,\"SMTP server address\")) return (false);
- if(!testIPList(form.pro_POP3server_addr,\"POP3 server address\")) return (false);
- if(!testIPList(form.pro_NNTPserver_addr,\"NNTP server address\")) return (false);
- if(!testIPList(form.pro_WWWserver_addr,\"WWW server address\")) return (false);
- if(!testIPList(form.pro_fingerserver_addr,\"finger server address\")) return (false);
- if(!testIPList(form.pro_IRCserver_addr,\"Internet chat server address\")) return (false);
- if(!testIPList(form.pro_StreetTalkserver_addr,\"StreetTalk server address\")) return (false);
- if(!testIPList(form.pro_STDAserver_addr,\"STDA server address\")) return (false);
- return (true);
- }
- function testServices(form) {
- if(!testIPList(form.pro_NetBIOS_nameserver_addr,\"NetBIOS name server address\")) return (false);
- if(!testIPList(form.pro_NetBIOS_distrserver_addr,\"NetBIOS dist server address\")) return (false);
- if(!testHostname(form.pro_nis_domain,form.pro_nis_domain.value,\"NIS domain name\",1)) return (false);
- if(!testIPList(form.pro_nisserver_addr,\"NIS server address\")) return (false);
- if(!testHostname(form.pro_nisplus_domain,form.pro_nisplus_domain.value,\"NIS+ domain name\",1)) return (false);
- if(!testIPList(form.pro_nisplusserver_addr,\"NIS+ server address\")) return (false);
- return (true);
- }
- function testIPperHost(form) {
- if(!testIPPairs(form.pro_policy_filter,\"policy filter address pair\")) return (false);
- if(!testInt(form.pro_max_reassy_size,\"datagram reassembly size\")) return (false);
- if(!testMaxMin(form.pro_max_reassy_size,\"datagram reassembly size\",576,65535)) return (false);
- if(!testInt(form.pro_IP_ttl,\"IP time to live\")) return (false);
- if(!testMaxMin(form.pro_IP_ttl,\"IP time to live\",1,255)) return (false);
- if(!testInt(form.pro_pathmtu_timeout,\"path MTU aging timeout\")) return (false);
- if(!testIntList(form.pro_pathmtu_table,\"path MTU\")) return (false);
- if(!testMaxMinList(form.pro_pathmtu_table,\"path MTU\",68,65535)) return (false);
- return (true);
- }
- function testIPperInterface(form) {
- if(!testInt(form.pro_mtu,\"MTU for the interface\")) return (false);
- if(!testMaxMin(form.pro_mtu,\"MTU for the interface\",68,65535)) return (false);
- if(!testIPAddr(form.pro_broadcast,\"broadcast address\",0)) return (false);
- if(!testIPAddr(form.pro_router_solicit_addr,\"router solicitation address\",0)) return (false);
- if(!testIPPairs(form.pro_static_routes,\"static route address pair\")) return (false);
- return (true);
- }
- function testLinkLayer(form) {
- if(!testInt(form.pro_arpcache_timeout,\"ARP cache timeout\")) return (false);
- return (true);
- }
- function testTCP(form) {
- if(!testInt(form.pro_TCP_ttl,\"TCP default time to live\")) return (false);
- if(!testMaxMin(form.pro_TCP_ttl,\"TCP time to live\",1,255)) return (false);
- if(!testInt(form.pro_TCP_keepalive_intrvl,\"TCP KeepAlive interval\")) return (false);
- return (true);
- }
-
- function testFile(Ctrl, what) {
- if (Ctrl.value == \"\") return (true);
- if (!testFilename(Ctrl, what)) return (false);
- return (true);
- }
- function testMaxMin(Ctrl,what,min,max) {
- if (Ctrl.value == \"\") return (true);
- start = 0; while (Ctrl.value.charAt(start) == ' ') { start++; }
- end = Ctrl.value.length-1; while (Ctrl.value.charAt(end) == ' ') { end--; }
- str = Ctrl.value.substring(start,end+1); num = parseInt(str);
- if (num > max) { errorBox (Ctrl, \"The \" + what + \" must be \" + max + \" or less.\"); return (false); }
- if (num < min) { errorBox (Ctrl, \"The \" + what + \" must be at least \" + min); return (false); }
- return (true);
- }
- function testMaxMinList(Ctrl,what,min,max) {
- if (Ctrl.value == \"\") return (true);
- for (start = 0, comma = 0; comma != -1; start = comma+1) {
- comma = Ctrl.value.indexOf (',', start);
- if (start == Ctrl.value.length) return (true); if (comma == start) continue;
- if(comma == -1) val = Ctrl.value.substring(start, Ctrl.value.length);
- else val = Ctrl.value.substring(start, comma);
- for (s = 0; val.charAt(s) == ' '; s++) ;
- for (e = val.length-1; val.charAt(e) == ' '; e--) ;
- num = parseInt(val.substring(s,e+1));
- if (num > max) { errorBox (Ctrl, \"The \" + what + \" list values must be \\n \" + max + \" or less.\"); return (false); }
- if (num < min) { errorBox (Ctrl, \"The \" + what + \" list values must be \\nat least \" + min); return (false); }
- } return (true);
- }
- function testInt(Ctrl,what) {
- if (Ctrl.value == \"\") return (true);
- start = 0; while (Ctrl.value.charAt(start) == ' ') { start++; }
- end = Ctrl.value.length-1; while (Ctrl.value.charAt(end) == ' ') { end--; }
- for (n = start; n <= end; n++) {
- digit = Ctrl.value.charAt(n);
- if(! checkInt_c(digit, 10)) { errorBox (Ctrl, \"The \" + what + \" \" + Ctrl.value + \"\\nis not a valid integer.\"); return (false); }
- } return (true);
- }
- function testIntList(Ctrl,what) {
- if (Ctrl.value == \"\") return (true);
- for (start = 0, comma = 0; comma != -1; start = comma+1) {
- comma = Ctrl.value.indexOf (',', start);
- if (start == Ctrl.value.length) return (true); if (comma == start) continue;
- if(comma == -1) val = Ctrl.value.substring(start, Ctrl.value.length);
- else val = Ctrl.value.substring(start, comma);
- for (s = 0; val.charAt(s) == ' '; s++) ;
- for (e = val.length-1; val.charAt(e) == ' '; e--) ;
- while (s <= e) { digit = val.charAt(s); s++; if(! checkInt_c(digit, 10)) { errorBox (Ctrl, \"Illegal value: \" + val + \"\\nin \" + what + \" list.\"); return (false); } }
- } return (true);
- }
- function testRange(Ctrl,what) {
- if (Ctrl.value == \"\") return (true);
- for (start = 0, comma = 0; comma != -1; start = comma+1) {
- comma = Ctrl.value.indexOf (',', start);
- if (start == Ctrl.value.length) return (true); if (comma == start) continue;
- if(comma == -1) str = Ctrl.value.substring(start, Ctrl.value.length);
- else str = Ctrl.value.substring(start, comma);
- for (s=0, hyphen=-1; s < str.length; s++) {
- if (str.charAt(s) == '-') { hyphen = s; continue; }
- if(! checkInt_c(str.charAt(s), 10)) { if(str.charAt(s) == ' ') errorBox (Ctrl, \"Please do not use spaces in \\nthe \" + what + \" list\"); else errorBox (Ctrl, \"Illegal character: \" + str.charAt(s) + \" in \" + what + \" list.\"); return (false); }
- }
- if (hyphen == -1) { errorBox (Ctrl, \"Illegal \" + what + \" value: \" + str); return (false); }
- num1 = parseInt(str.substring(0,hyphen)); num2 = parseInt(str.substring(hyphen+1,str.length));
- if (num1 > num2) { errorBox (Ctrl, \"Illegal \" + what + \" value: \" + str); return (false); }
- if (num1 > 255 || num2 > 255) { errorBox (Ctrl, \"Range values must be between 0 and 255.\"); return (false); }
- } return (true);
- }
- function testIPAddr(Ctrl,what,netmask) {
- if (Ctrl.value == \"\") return (true);
- if (!testIPaddress(Ctrl.value,netmask)) {
- errorBox (Ctrl, \"Illegal \" + what + \": \" + Ctrl.value);
- return (false);
- }
- return (true);
- }
- function testIPPairs(Ctrl,what) {
- if (Ctrl.value == \"\") return (true);
- for (start = 0, comma = 0; comma != -1; start = comma+1) {
- comma = Ctrl.value.indexOf (',', start);
- if (start == Ctrl.value.length) return (true);
- if (comma == start) continue;
- if(comma == -1) str = Ctrl.value.substring(start, Ctrl.value.length);
- else str = Ctrl.value.substring(start, comma);
- for (s=0, hyphen=-1; s < str.length; s++) {
- if (str.charAt(s) == '-') { hyphen = s; continue; }
- }
- if (hyphen == -1) {
- errorBox (Ctrl, str + \" is not a valid \" + what);
- return (false);
- }
- sub1 = str.substring(0,hyphen);
- sub2 = str.substring(hyphen+1,str.length);
- if (sub1 == \"\" || sub2 == \"\") {
- errorBox (Ctrl, str + \" is not a valid \" + what);
- return (false);
- }
- if (!testIPaddress(sub1,0)) {
- errorBox (Ctrl, \"Illegal address value: \" + sub1
- + \" in\\n\" + what + \" \" + str);
- return (false);
- }
- if (!testIPaddress(sub2,0)) {
- errorBox (Ctrl, \"Illegal address value: \" + sub2
- + \" in\\n\" + what + \" \" + str);
- return (false);
- }
- }
- return (true);
- }";
-